package org.dromara.book.domain.vo;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;

import cn.hutool.json.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.book.domain.SzlyBaseIsbn;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * ISBN库视图对象 szly_base_isbn
 *
 * @author LionLi
 * @date 2024-03-19
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SzlyBaseIsbn.class)
public class SzlyBaseIsbnVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long id;

    /**
     * 13位ISBN码
     */
    @ExcelProperty(value = "13位ISBN码")
    private String isbn13;

    /**
     * 正题名
     */
    @ExcelProperty(value = "正题名")
    private String name;

    /**
     * 副题名
     */
    @ExcelProperty(value = "副题名")
    private String subName;

    /**
     * 并列提名
     */
    @ExcelProperty(value = "并列提名")
    private String paratacticName;

    /**
     * 作者
     */
    @ExcelProperty(value = "作者")
    private String firstAuthor;

    /**
     * 其他作者
     */
    @ExcelProperty(value = "其他作者")
    private String otherAuthor;

    /**
     * 丛书题名
     */
    @ExcelProperty(value = "丛书题名")
    private String seriesName;

    /**
     * 区分号
     */
    @ExcelProperty(value = "区分号")
    private String distinctionNumber;

    /**
     * 索书号
     */
    @ExcelProperty(value = "索书号")
    private String callNumber;

    /**
     * 价格
     */
    @ExcelProperty(value = "价格")
    private BigDecimal price;


    /**
     * 出版社
     */
    @ExcelProperty(value = "出版社")
    private String publishCompany;

    /**
     * 出版地
     */
    @ExcelProperty(value = "出版地")
    private String publishPlace;

    /**
     * 出版单位
     */
    @ExcelProperty(value = "出版单位")
    private String publishDept;

    /**
     * 出版时间
     */
    @ExcelProperty(value = "出版时间")
    private String publishDate;

    /**
     * 载体类型
     */
    @ExcelProperty(value = "载体类型")
    private String literatureType;

    /**
     * 页数
     */
    @ExcelProperty(value = "页数")
    private Integer pagesNum;

    /**
     * 装订
     */
    @ExcelProperty(value = "装订")
    private String bind;

    /**
     * 版本
     */
    @ExcelProperty(value = "版本")
    private String bookVersion;

    /**
     * 开本
     */
    @ExcelProperty(value = "开本")
    private String bookFormat;

    /**
     * 主题词
     */
    @ExcelProperty(value = "主题词")
    private String keyword;

    /**
     * 语言码
     */
    @ExcelProperty(value = "语言码")
    private String languageCode;

    /**
     * 著者号
     */
    @ExcelProperty(value = "著者号")
    private String authorNumber;

    /**
     * 图书简介
     */
    @ExcelProperty(value = "图书简介")
    private String bookIntroduction;

    /**
     * 作者简介
     */
    @ExcelProperty(value = "作者简介")
    private String authorIntroduction;

    /**
     * 图书封面
     */
    @ExcelProperty(value = "图书封面")
    private String coverImage;

    /**
     * 分辑名
     */
    @ExcelProperty(value = "分辑名")
    private String divisionName;

    /**
     * 分辑号
     */
    @ExcelProperty(value = "分辑号")
    private String divisionNumber;

    /**
     * 十位isbn
     */
    @ExcelProperty(value = "十位isbn")
    private String isbn10;

    /**
     * 编目人
     */
    @ExcelProperty(value = "编目人")
    private String cataloguePeople;

    /**
     * 编目时间
     */
    @ExcelProperty(value = "编目时间")
    private Date catalogueTime;

    /**
     * 丛书作者
     */
    @ExcelProperty(value = "丛书作者")
    private String seriesAuthor;

    /**
     * 分类号
     */
    @ExcelProperty(value = "分类号")
    private String typeCode;

    /**
     * 种次号
     */
    @ExcelProperty(value = "种次号")
    private String findBookId;

    /**
     * 一般附注
     */
    @ExcelProperty(value = "一般附注")
    private String generalNotes;

    /**
     * cip
     */
    @ExcelProperty(value = "cip")
    private String cip;

    /**
     * 目录
     */
    private String bookCatalog;

    /**
     * 字数
     */
    @ExcelProperty(value = "字数")
    private Integer wordsNum;


    /**
     * 接口数据
     */
    private JSONObject apiResult;

    /**
     * 是否为教材
     */
    private Boolean ifTextbook;

    /**
     * 是否阅读指导书
     */
    private Boolean ifGuidebook;


}
